package com.cns.jsontestobj;

import android.app.Activity;
import android.os.Bundle;
import org.json.JSONArray;
import org.json.JSONObject;
//import com.lge.sns.util.Logging;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

public class JsonTest_Obj extends Activity {
    private static final int Product = 0;
    private static final String Marker = null;
    /** Called when the activity is first created. */
    TextView mResult;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView mResult = (TextView)findViewById(R.id.result);
        
        /** 1, 2. JSONObject, JSONArray parsing
             String Type 으로 데이터를 받지만 []기호에 의해 배열로 처리함
             String Type 입력정보로  JSONArray ja 로 생성하여 parsing 처리한다.
         */
        String Json = 
                   "[{\"Product\":\"Mouse\",\"Maker\":\"Samsung\",\"Price\":23000}," +
                   "{\"Product\":\"Keyboard\",\"Maker\":\"LG\",\"Price\":12000}," +
                   "{\"Product\":\"HDD\",\"Maker\":\"Western Digital\",\"Price\":156000}]";
                  
        try {
            String Result = "주문목록 \n";
            JSONArray ja = new JSONArray(Json);
            
            for (int i = 0; i < ja.length(); i++) {
                JSONObject order = ja.getJSONObject(i);
                Log.i("@@@@@@JSONTEST_OBJ", "[" + order.getString("Product") + ":" + "제품명" + "]");
                /** 3. JSON element가 없을 때 에러나지 않게 하는 법(has method 사용)
                                                     아래 if 문과 같은 방법으로 사용할 것이라 추측됩니다.
                   (SNS3.0 NewbayProfileNetworkAdapter.java 소스의 //status 에 사용확인.)  
                 */
                if(ja.getJSONObject(Product).has(Marker)) {
                    Result += "제품명 : " +order.getString("Product")
                    + ",제조사 : " +order.getString("Maker")
                    + ",가격 : " +order.getInt("Price") + "\n";
                } else {
                    Result += "제품명 : " +order.getString("Product")
                    + ",제조사 : " +order.getString("Maker")
                    + ",가격 : " +order.getInt("Price") + "\n";
                    // TODO: handle exception
                    //Toast.makeText(v.getContext(), e.getMessage(), 0).show();
                }
            }
            mResult.setText(Result);
        } catch (Exception e) {
             // TODO: handle exception
             //Toast.makeText(v.getContext(), e.getMessage(), 0).show();
        }
    }
}
